				#####################################
				# REPLICATION MATERIAL for: 
				# Di Leo, R., Dinas, E., and Meiske, B. (2025), "Berlinguer I Love You (Still): the Downstream Effects of Expressive Voting
				#####################################


/*
*** Note: replicators should add to the local ado folder (identify it using the command "sysdir"): 

ado files to include in the Stata "ado" directory: 	"DCdensity.ado" "rddisttestk.ado"  	
(typically following a path "ado/plus/initial of the package", use command "sysdir" to identify it. Note that Stata must be restarted to incorporate the files change)	


	a. "DCdensity.ado" used to compute the density test (also available here: https://eml.berkeley.edu/~jmccrary/DCdensity/) 
		Developed by Justin McCrary. 
		See: McCrary, Justin. "Manipulation of the running variable in the regression discontinuity design: A density test." Journal of econometrics 142.2 (2008): 698-714.

	b. "rddisttestk.ado" used to compute the density test (also available here: https://economics.byu.edu/frandsen/Pages/Software.aspx) 
		Developed by Brigham R. Fradsen.
*/



/*
*** Note: replicators must install the following packages (by uncommenting this section)

net install rdrobust, from(https://raw.githubusercontent.com/rdpackages/rdrobust/master/stata) replace

ssc install ebalance, replace
ssc install center, replace
ssc install estout, replace
ssc install grstyle, replace
ssc install coefplot, replace
ssc install rddsga, replace
ssc install kountry, replace
ssc install iscogen, replace 
ssc install rangestat, replace
ssc install rangejoin, replace 
ssc install nearmrg, replace

ssc install palettes
ssc install colrspace
*/



clear all
set graphics off


Note: replicators should set up directories to open data and save tables and figures 
global root ""
cd "$root"

mkdir "$root\ITANES"
mkdir "$root\ITANES\Main"
mkdir "$root\ITANES\Main\Figures"
global figures_main "$root\ITANES\Main\Figures"
mkdir "$root\ITANES\Main\Tables"
global tables_main "$root\ITANES\Main\Tables"
mkdir "$root\ITANES\Appendix"
mkdir "$root\ITANES\Appendix\Figures"
global figures_appendix "$root\ITANES\Appendix\Figures"
mkdir "$root\ITANES\Appendix\Tables"
global tables_appendix "$root\ITANES\Appendix\Tables"



use "itanes_1985_final", clear 


##############
## MAIN PAPER
##############

***TABLE 1

est clear 
foreach var in PCI PSI DC otherSX otherDX others null {

preserve 
rename `var'_prev prev 
eststo: reg couldvote_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck

restore
}
preserve 
rename turnout prev 

eststo: reg couldvote_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck
restore


esttab est* using "$tables_main\Table_1", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep(1.centrale prev 1.centrale#1.prev) ///
	order(1.centrale#1.prev 1.centrale prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.prev "Centrale x Voted Party in 1983n" prev "Voted Party in 1983n") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("PCI '83" "PSI '83" "DC '83" "Other Left '83" "Other Right '83" "Others '83" "Null/Blank '83" "Voted in '83") ///
	replace tex nonotes label


##############
## APPENDIX B
##############
	
***TABLE B.2

tab education, gen(education_clean_)

glo controls_sum "PCI_prev male age age2 education_clean_* conjugated employed religiosity_dummy"


* sample
qui reg couldvote_pci centrale PCI_prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
g obs_sample=e(sample)

*sum
estpost sum couldvote_pci leftright_pci catholic_pci like_Almirante like_Demita like_Craxi like_Natta centrale $controls_sum if obs_sample==1

esttab . using "$tables_appendix/Table_B2", cells("mean(fmt(%8.2f)) sd(fmt(%8.2f)) min(fmt(%8.2f)) max(fmt(%8.2f)) count(fmt(%8.0f))") nonumbers noobs  wide ///
collabels("Mean" "Std. Dev." "Min." "Max." "Obs.") ///
order(couldvote_pci leftright_pci catholic_pci like_Almirante like_Craxi like_Demita like_Natta centrale $controls_sum) ///
varl(couldvote_pci "Could vote PCI tomorrow (1-0)" leftright_pci "PCI Left-Right position (1-10)" catholic_pci "PCI viable for Catholics (1-0)" like_Almirante "Like Almirante (MSI, 1-10)" like_Craxi "Like Craxi (PSI, 1-10)" like_Demita "Like De Mita (DC, 1-10)" like_Natta "Like Natta (PCI, 1-10)" centrale "Centrale (1-0)" PCI_prev "Voted PCI in 1983 (1-0)" male "Male (1-0)" age "Age" age2 "Age (sqr.)" education_clean_1 "Educ.: None/primary" education_clean_2 "Educ.: Middle" education_clean_3 "Educ.: High-school"  education_clean_4 "Educ.: Degree" conjugated "Conjugated (1-0)" employed "Employed (1-0)" religiosity_dummy "Attends Catholic mass (1-0)") ///	
refcat(couldvote_pci "\textbf{{Outcomes}}" centrale "\textbf{{Controls}}" , nolabel) ///
replace tex
	
		
***TABLE B.3

preserve 

use "itanes_1975_final", clear 


tab education, gen(education_clean_)

glo controls_sum "PCI_prev male age age2 education_clean_* conjugated employed religiosity_dummy"


* sample
qui reg like_pci centrale PCI_prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
g obs_sample=e(sample)

*sum
estpost sum like_pci preferred_party_pci centrale $controls_sum if obs_sample==1

esttab . using "$tables_appendix/Table_B3", cells("mean(fmt(%8.2f)) sd(fmt(%8.2f)) min(fmt(%8.2f)) max(fmt(%8.2f)) count(fmt(%8.0f))") nonumbers noobs  wide ///
collabels("Mean" "Std. Dev." "Min." "Max." "Obs.") ///
order(like_pci preferred_party_pci centrale $controls_sum) ///
varl(like_pci "Like PCI (1-10)" like_dc "Like DC (1-10)" preferred_party_pci "Party feel closest: PCI (1-0)" preferred_party_dc "Party feel closest: DC (1-0)" centrale "Centrale (1-0)" PCI_prev "Voted PCI in 1972 (1-0)" male "Male (1-0)" age "Age" age2 "Age (sqr.)" education_clean_1 "Educ.: None/primary" education_clean_2 "Educ.: Middle" education_clean_3 "Educ.: High-school"  education_clean_4 "Educ.: Degree" conjugated "Conjugated (1-0)" employed "Employed (1-0)" religiosity_dummy "Attends Catholic mass (1-0)") ///	
refcat(like_pci "\textbf{{Outcomes}}" centrale "\textbf{{Controls}}" , nolabel) ///
replace tex

restore





##############
## APPENDIX E
##############

***TABLE E.1

est clear 
foreach var in PCI PSI DC otherSX otherDX others null {

preserve 
rename `var'_prev prev 
eststo: reg couldvote_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck

restore
}
preserve 
rename turnout prev 

eststo: reg couldvote_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck
restore


esttab est* using "$tables_appendix\Table_E1", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.prev 1.centrale prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.prev "Centrale x Voted Party in 1983n" prev "Voted Party in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("PCI '83" "PSI '83" "DC '83" "Other Left '83" "Other Right '83" "Others '83" "Null/Blank '83" "Voted in '83") ///
	replace tex nonotes label nobaselevels


***TABLE E.2

est clear 
foreach var in PCI PSI DC otherSX otherDX others null {

preserve 
rename `var'_prev prev 
eststo: reg like_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck

restore
}
preserve 
rename turnout prev 

eststo: reg like_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck
restore

esttab est* using "$tables_appendix\Table_E2", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.prev 1.centrale prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.prev "Centrale x Voted Party in 1983n" prev "Voted Party in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("PCI '83" "PSI '83" "DC '83" "Other Left '83" "Other Right '83" "Others '83" "Null/Blank '83" "Voted in '83") ///
	replace tex nonotes label nobaselevels


***TABLE E.3

est clear 

foreach var in pci_democratic pci_authoritarian pci_honest pci_corrupt pci_canrule pci_clientelist pci_foreignhelp pci_modern pci_outdated	{

eststo: reg `var' centrale##PCI_prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
margins PCI_prev , dydx(centrale ) atmeans noestimcheck

}


esttab est* using "$tables_appendix\Table_E3", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.PCI_prev 1.centrale 1.PCI_prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.PCI_prev "Centrale x Voted PCI in 1983n" 1.PCI_prev "Voted PCI in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("Democratic" "Authoritarian" "Honest" "Corrupt" "Able to Rule" "Clientelist" "Tied to Foreign Powers" "Modern" "Outdated") ///
	replace tex nonotes label nobaselevels

	
***TABLE E.4

*generate institutional trust score (PCA)
pca  pci_democratic pci_authoritarian pci_honest pci_corrupt pci_canrule pci_clientelist pci_foreignhelp pci_modern pci_outdated 
predict Comp
rename Comp Score
la var Score "PCI Good: PCA"
*normalize score between 0 and 1
egen Score_min=min(Score)
egen Score_max=max(Score)
gen Score_nor= (Score - Score_min) / (Score_max-Score_min)
la var Score_nor "PCI Score"
drop Score_min Score_max

est clear 

foreach var in PCI DC PSI otherSX otherDX others null {

preserve 
rename `var'_prev prev 
eststo: reg Score_nor prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck

restore
}
preserve 
rename turnout prev 

eststo: reg Score_nor prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck
restore


esttab est* using "$tables_appendix\Table_E4", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.prev 1.centrale prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.prev "Centrale x Voted Party in 1983n" prev "Voted Party in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("PCI 1983" "DC 1983" "PSI 1983" "Other Left 1983" "Other Right 1983" "Others 1983" "Null/Blank 1983" "Voted in 1983") ///
	replace tex nonotes label nobaselevels

	
***TABLE E.5

est clear 

foreach var in couldvote_pci couldvote_psi couldvote_dc couldvote_msi couldvote_demprol couldvote_green couldvote_rad couldvote_psdi couldvote_pri couldvote_pli couldvote_others {

eststo: reg `var' centrale##PCI_prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
margins PCI_prev , dydx(centrale ) atmeans noestimcheck

}

esttab est* using "$tables_appendix\Table_E5", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.PCI_prev 1.centrale 1.PCI_prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.PCI_prev "Centrale x Voted PCI in 1983n" 1.PCI_prev "Voted PCI in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("PCI" "PSI" "DC" "MSI" "Dem. Prol." "Green" "Radicals" "PSDI" "PRI" "PLI" "Others") ///
	replace tex nonotes label nobaselevels

	
***TABLE E.6

est clear 
foreach var in PCI DC PSI otherSX otherDX others null {

preserve 
rename `var'_prev prev 
eststo: reg leftright_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck

restore
}
preserve 
rename turnout prev 

eststo: reg leftright_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck
restore

esttab est* using "$tables_appendix\Table_E6", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.prev 1.centrale prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.prev "Centrale x Voted Party in 1983n" prev "Voted Party in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("PCI 1983" "DC 1983" "PSI 1983" "Other Left 1983" "Other Right 1983" "Others 1983" "Null/Blank 1983" "Voted in 1983") ///
	replace tex nonotes label nobaselevels

	
***TABLE E.7

est clear 
	
foreach var in PCI DC PSI otherSX otherDX others null {

preserve 
rename `var'_prev prev 
eststo: reg catholic_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck

restore
}
preserve 
rename turnout prev 

eststo: reg catholic_pci prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck
restore


esttab est* using "$tables_appendix\Table_E7", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.prev 1.centrale prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.prev "Centrale x Voted Party in 1983n" prev "Voted Party in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("PCI 1983" "DC 1983" "PSI 1983" "Other Left 1983" "Other Right 1983" "Others 1983" "Null/Blank 1983" "Voted in 1983") ///
	replace tex nonotes label nobaselevels

	
***TABLE E.8

est clear 

foreach var in PCI PSI DC otherSX otherDX others null {

preserve 
rename `var'_prev prev 
eststo: reg like_Natta prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck

restore
}
preserve 
rename turnout prev 

eststo: reg like_Natta prev centrale##prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
	margins prev , dydx(centrale ) atmeans noestimcheck
restore


esttab est* using "$tables_appendix\Table_E8", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.prev 1.centrale prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.prev "Centrale x Voted Party in 1983n" prev "Voted Party in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("PCI '83" "PSI '83" "DC '83" "Other Left '83" "Other Right '83" "Others '83" "Null/Blank '83" "Voted in '83") ///
	replace tex nonotes label nobaselevels	

	
***TABLE E.9

est clear 

foreach var in like_Almirante like_Craxi like_Demita like_Natta like_Pertini {

eststo: reg `var' centrale##PCI_prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
margins PCI_prev , dydx(centrale ) atmeans noestimcheck

}

esttab est* using "$tables_appendix\Table_E9", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.PCI_prev 1.centrale 1.PCI_prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.PCI_prev "Centrale x Voted PCI in 1983n" 1.PCI_prev "Voted PCI in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	mtitles("Almirante (MSI)" "Craxi (PSI)" "De Mita (DC)" "Natta (PCI)" "Pertini (President/PSI)") ///
	replace tex nonotes label nobaselevels

	
***TABLE E.10	
	
preserve 

use "itanes_1975_final", clear 

est clear 
foreach var in like_pci preferred_party_pci {

eststo: reg `var' centrale##PCI_prev male age age2 education conjugated employed religiosity_dummy , vce(robust)
		estadd local controls "Yes", replace							
margins PCI_prev , dydx(centrale ) atmeans noestimcheck

}


esttab est* using "$tables_appendix\Table_E10", star(* .1 ** .05 *** .01) se b(3) r2 ///
	keep() ///
	order(1.centrale#1.PCI_prev 1.centrale 1.PCI_prev) ///
	varl(1.centrale "Centrale" 1.centrale#1.PCI_prev "Centrale x Voted PCI in 1983n" 1.PCI_prev "Voted PCI in 1983n" male "Male" age "Age" age2 "Age$^2$" education "Highest Education (1/5)" conjugated "In a Relationship (1/0)" employed "Employed (1/0)" religiosity_dummy "Attends Mass (1/0)" _cons "Constant") ///
	s(controls r2 N, ///
	label("Controls" "R-squared" "Observations" ) ///
	fmt(0 3 0)) ///
	replace tex nonotes label nobaselevels

restore